import { useUserInfo } from '/@/stores/userInfo';

/**
 * 获取当前用户的主要部门ID
 * @returns {string | null} 部门ID，如果没有部门则返回null
 */
export const getCurrentUserMainGroupId = (): string | null => {
  const userInfoStore = useUserInfo();
  const groups = userInfoStore.userInfos.groups;
  if (groups && groups.length > 0) {
    // 返回第一个部门的ID作为主要部门
    return groups[0].ID;
  }
  return null;
};

/**
 * 获取当前用户的所有部门ID列表
 * @returns {string[]} 部门ID数组
 */
export const getCurrentUserGroupIds = (): string[] => {
  const userInfoStore = useUserInfo();
  const groups = userInfoStore.userInfos.groups;
  if (groups && groups.length > 0) {
    return groups.map(group => group.ID).filter(Boolean);
  }
  return [];
};

/**
 * 获取当前用户的主要部门信息
 * @returns {any | null} 部门信息对象，如果没有部门则返回null
 */
export const getCurrentUserMainGroup = (): any | null => {
  const userInfoStore = useUserInfo();
  const groups = userInfoStore.userInfos.groups;
  if (groups && groups.length > 0) {
    return groups[0];
  }
  return null;
};

/**
 * 检查用户是否属于指定部门
 * @param {string} groupId 要检查的部门ID
 * @returns {boolean} 是否属于该部门
 */
export const isUserInGroup = (groupId: string): boolean => {
  const userInfoStore = useUserInfo();
  const groups = userInfoStore.userInfos.groups;
  if (groups && groups.length > 0) {
    return groups.some(group => group.ID === groupId);
  }
  return false;
};
